{"componentChunkName":"component---src-templates-blog-page-index-tsx","path":"/variaveis/","result":{"data":{"mdx":{"body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"layout\": \"BlogPage\",\n  \"title\": \"Entendendo as Variáveis\",\n  \"description\": \"Nesse artigo iremos falar um pouco sobre os tipos de variáveis, como acessá-las e onde definí-las. Conheça os diferentes tipos de variáveis e suas aplicações.\",\n  \"image\": \"capa.jpg\",\n  \"tags\": [\"Iniciante\"],\n  \"author\": [\"Matheus\"],\n  \"publishedAt\": \"04/05/2022\",\n  \"modifiedAt\": \"20220504\",\n  \"suburl\": \"variaveis/\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"Nesse artigo iremos falar um pouco sobre os tipos de vari\\xE1veis, como acess\\xE1-las e onde defin\\xED-las.\"), mdx(\"h2\", {\n    \"id\": \"tipos-de-acesso\"\n  }, \"Tipos de acesso\"), mdx(\"p\", null, \"No Solidity, temos 3 tipos de declara\\xE7\\xE3o de vari\\xE1veis:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"local\"), \" \", mdx(\"ul\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"declarada dentro de uma fun\\xE7\\xE3o \"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"n\\xE3o \\xE9 armazenada na blockchain\"))), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"estado\"), mdx(\"ul\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"declarada fora de uma fun\\xE7\\xE3o\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"s\\xE3o armazenadas na blockchain\"))), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"global\"), mdx(\"ul\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"fornece informa\\xE7\\xF5es sobre a blockchain\")))), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.13;\\n\\ncontract Variaveis {\\n    // As vari\\xE1veis de estado s\\xE3o armazenadas na blockchain\\n    string public texto = \\\"Ol\\xE1 Solidity\\\";\\n    uint public numero = 123;\\n\\n    function atualizaVariaveis() public {\\n        // As vari\\xE1veis locais n\\xE3o s\\xE3o salvas na blockchain \\n        // e s\\xF3 podem ser acessadas dentro da fun\\xE7\\xE3o que a declarou\\n        uint i = 456;\\n\\n        // Essas s\\xE3o algumas das vari\\xE1veis globais tendo seu valor \\n        // atribuido \\xE0 uma vari\\xE1vel local\\n        uint timestamp = block.timestamp; // Timestamp do bloco atual\\n        address sender = msg.sender; // Endere\\xE7o de quem chamou o contrato\\n    }\\n}\\n\")), mdx(\"h2\", {\n    \"id\": \"variáveis-constantes\"\n  }, \"Vari\\xE1veis Constantes\"), mdx(\"p\", null, \"As Constantes s\\xE3o vari\\xE1veis que n\\xE3o podem ser modificadas.\\nSeu valor \\xE9 definido na sua declara\\xE7\\xE3o.\\nVari\\xE1veis constantes podem ajudar a economizar nos custos de gas.\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.13;\\n\\ncontract Constantes {\\n    // Vari\\xE1veis constantes geralmente s\\xE3o escritas com letras mai\\xFAsculas\\n    address public constant MEU_ENDERECO = 0x80F9486d904508BEb9b159b83c3605D974Baca1a;\\n    uint public constant MEU_UINT = 123;\\n}\\n\")), mdx(\"h2\", {\n    \"id\": \"variáveis-imutáveis\"\n  }, \"Vari\\xE1veis Imut\\xE1veis\"), mdx(\"p\", null, \"As vari\\xE1veis imut\\xE1veis s\\xE3o como as constantes, por\\xE9mo s valores de vari\\xE1veis imut\\xE1veis podem ser definidos dentro do construtor, mas n\\xE3o podem ser modificados posteriormente.\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.13;\\n\\ncontract Imutavel {\\n    // Vari\\xE1veis imut\\xE1veis geralmente s\\xE3o escritas com letras mai\\xFAsculas\\n    address public immutable MEU_ENDERECO;\\n    uint public immutable MEU_UINT;\\n\\n    constructor(uint _myUint) {\\n        MEU_ENDERECO = msg.sender;\\n        MEU_UINT = _myUint;\\n    }\\n}\\n\")), mdx(\"h2\", {\n    \"id\": \"tipos-de-dados-primitivos\"\n  }, \"Tipos de dados primitivos\"), mdx(\"p\", null, \"Alguns tipos de dados primitivos dispon\\xEDveis no Solidity.\"), mdx(\"p\", null, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"boolean\"), \" - utilizado para definir se um valor \\xE9 verdadeiro ou falso, true or false\"), mdx(\"p\", null, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"uint\"), \" - utilizado para definir um valor num\\xE9rico inteiro somente positivo\"), mdx(\"p\", null, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"int\"), \"- utilizado para definir um valor num\\xE9rico positivo ou negativo\"), mdx(\"p\", null, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"address\"), \" - utilizado para armazenar o endere\\xE7o de uma carteira\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.13;\\n\\ncontract DadosPrimitivos {\\n    bool public verdade = true;\\n\\n    /*\\n    uint representa um valor inteiro sem sinal, ou seja, inteiros positivos >= 0\\n    pode ser definido para diferentes tamanhos\\n        uint8   varia de 0 at\\xE9 2 ** 8 - 1\\n        uint16  varia de 0 at\\xE9 2 ** 16 - 1\\n        ...\\n        uint256 varia de 0 at\\xE9 2 ** 256 - 1\\n    */\\n    uint8 public u8 = 1;\\n    uint public u256 = 456;\\n    uint public u = 123; // uint \\xE9 o mesmo que uint256\\n\\n    /*\\n    Para n\\xFAmeros negativos, deve se usar o tipo int\\n    Assim como no uint, podemos definir diferentes \\n    faixas de int que s\\xE3o int8 at\\xE9 int256\\n    \\n    int256 varia de -2 ** 255 at\\xE9 2 ** 255 - 1\\n    int128 varia de -2 ** 127 at\\xE9 2 ** 127 - 1\\n    */\\n    int8 public i8 = -1;\\n    int public i256 = 456;\\n    int public i = -123; // int \\xE9 o mesmo que int256\\n\\n    // m\\xEDnimo e m\\xE1ximo de int\\n    int public minInt = type(int).min;\\n    int public maxInt = type(int).max;\\n\\n    // Nosso endere\\xE7o, caso sinta-se a vontade para nos enviar alguns bnb's :)\\n    address public addr = 0xCA35b7d915458EF540aDe6068dFe2F44E8fa733c;\\n\\n    /*\\n    Em Solidity, o tipo de dados byte representa uma sequ\\xEAncia de bytes. \\n    Solidity apresenta dois tipos de bytes :\\n\\n     - matrizes de bytes de tamanho fixo\\n     - matrizes de bytes de tamanho din\\xE2mico.\\n     \\n     O termo bytes no Solidity representa uma matriz din\\xE2mica de bytes.\\n     \\xC9 uma abrevia\\xE7\\xE3o para byte[] .\\n    */\\n    bytes1 a = 0xb5; //  [10110101]\\n    bytes1 b = 0x56; //  [01010110]\\n    \\n    // Valores padr\\xE3o\\n    // Vari\\xE1veis n\\xE3o atribu\\xEDdas t\\xEAm um valor padr\\xE3o\\n    bool public defaultBoo; // false\\n    uint public defaultUint; // 0\\n    int public defaultInt; // 0\\n    address public defaultAddr; // 0x0000000000000000000000000000000000000000\\n}\\n\")), mdx(\"h2\", {\n    \"id\": \"lendo-e-escrevendo-em-uma-variável-de-estado\"\n  }, \"Lendo e escrevendo em uma vari\\xE1vel de estado\"), mdx(\"p\", null, \"Para escrever ou atualizar uma vari\\xE1vel de estado, voc\\xEA precisa enviar uma transa\\xE7\\xE3o para a blockchain.\\nPor outro lado, voc\\xEA pode ler vari\\xE1veis de estado sem precisar executar nenhuma transa\\xE7\\xE3o, logo, n\\xE3o ir\\xE1 pagar nenhuma taxa de gas.\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.13;\\n\\ncontract SimpleStorage {\\n    // Vari\\xE1vel de estado para armazenar um valor\\n    uint public num;\\n\\n    // Voc\\xEA precisa enviar uma transa\\xE7\\xE3o para poder atualizar o valor da vari\\xE1vel num\\n    function set(uint _num) public {\\n        num = _num;\\n    }\\n\\n    // Voc\\xEA pode ler o valor da vari\\xE1vel num sem precisar enviar nenhuma transa\\xE7\\xE3o\\n    function get() public view returns (uint) {\\n        return num;\\n    }\\n}\\n\")), mdx(\"br\", null), mdx(\"h3\", {\n    \"id\": \"testar-no-remix\"\n  }, \"Testar no \", mdx(\"a\", {\n    parentName: \"h3\",\n    \"href\": \"https://remix.ethereum.org/\",\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }, \"Remix\")), mdx(\"br\", null), mdx(\"br\", null));\n}\n;\nMDXContent.isMDXComponent = true;","frontmatter":{"title":"Entendendo as Variáveis","description":"Nesse artigo iremos falar um pouco sobre os tipos de variáveis, como acessá-las e onde definí-las. Conheça os diferentes tipos de variáveis e suas aplicações.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjuxGg//EABkQAAMBAQEAAAAAAAAAAAAAAAECEhEEEP/aAAgBAQABBQJTnQ9qq7MisPn/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAcEAACAgIDAAAAAAAAAAAAAAABEQACMVEDEBL/2gAIAQEABj8CIPITazQ1CQ7HUDzPSD3M9f/EABsQAAICAwEAAAAAAAAAAAAAAAERACEQMUHw/9oACAEBAAE/IWMgjoJSscU4REFJYmoB2lmeAx//2gAMAwEAAgADAAAAENDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHxABAQABAgcAAAAAAAAAAAAAAREAECFBUWGBkdHw/9oACAEBAAE/EBsmBpjYTg+uuOEbSa8sYgwUlHttm+UiAYcrnxGn/9k=","aspectRatio":1.5151515151515151,"src":"/static/3ca33f6c84b50f6e50e5d109a291ac67/0cb3d/capa.jpg","srcSet":"/static/3ca33f6c84b50f6e50e5d109a291ac67/f836f/capa.jpg 200w,\n/static/3ca33f6c84b50f6e50e5d109a291ac67/2244e/capa.jpg 400w,\n/static/3ca33f6c84b50f6e50e5d109a291ac67/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"tags":["Iniciante"],"author":["Matheus"],"suburl":"variaveis/","publishedAt":"04/05/2022","modifiedAt":"20220504"},"tableOfContents":{"items":[{"url":"#tipos-de-acesso","title":"Tipos de acesso"},{"url":"#variáveis-constantes","title":"Variáveis Constantes"},{"url":"#variáveis-imutáveis","title":"Variáveis Imutáveis"},{"url":"#tipos-de-dados-primitivos","title":"Tipos de dados primitivos"},{"url":"#lendo-e-escrevendo-em-uma-variável-de-estado","title":"Lendo e escrevendo em uma variável de estado","items":[{"url":"#testar-no-remix","title":"Testar no Remix"}]}]},"timeToRead":1},"allMdx":{"nodes":[{"frontmatter":{"suburl":"sistema-de-swap-estavel-amm/","title":"Como criar um sistema de Swap estável AMM","tags":["Avançado","DeFi"]}},{"frontmatter":{"suburl":"produto-constante-amm/","title":"Como criar um produto constante AMM","tags":["Intermediário","DeFi"]}},{"frontmatter":{"suburl":"soma-constante-amm/","title":"Como criar uma soma constante AMM","tags":["Intermediário","DeFi"]}},{"frontmatter":{"suburl":"sistema-de-cofre/","title":"Como criar um sistema de Cofre","tags":["Intermediário","DeFi"]}},{"frontmatter":{"suburl":"sistema-de-staking/","title":"Como criar um sistema de Staking de Recompensas","tags":["Intermediário","Avançado","DeFi"]}},{"frontmatter":{"suburl":"sistema-de-preco-chainlink-oracle/","title":"Como criar um sistema de preços Oracle","tags":["Intermediário","Avançado","DeFi"]}},{"frontmatter":{"suburl":"exemplos-de-uso-do-uniswap-v3/","title":"Exemplos de uso do Uniswap V3","tags":["Intermediário","Avançado","DeFi"]}},{"frontmatter":{"suburl":"fornecimento-unilateral-com-uniswap-v2/","title":"Fornecimento unilateral ideal com Uniswap V2","tags":["Intermediário","Avançado","DeFi"]}},{"frontmatter":{"suburl":"adicionar-e-remover-liquidez-com-uniswap-v2/","title":"Como adicionar e remover liquidez com Uniswap V2","tags":["Intermediário","Avançado","DeFi"]}},{"frontmatter":{"suburl":"swap-com-uniswap-v2/","title":"Como realizar Swap com Uniswap V2","tags":["Intermediário","DeFi"]}},{"frontmatter":{"suburl":"testes-com-echidna/","title":"Como realizar testes com Echidna","tags":["Intermediário"]}},{"frontmatter":{"suburl":"ignorar-verificacao-do-tamanho-do-contrato/","title":"Como ignorar a verificação do tamanho do contrato","tags":["Intermediário","Hacks"]}},{"frontmatter":{"suburl":"repeticao-de-assinatura/","title":"Repetição de assinatura","tags":["Avançado","Hacks"]}},{"frontmatter":{"suburl":"manipular-timestamp-do-bloco/","title":"Manipulando o timestamp do bloco na blockchain","tags":["Intermediário","Hacks"]}},{"frontmatter":{"suburl":"ataque-front-running/","title":"Ataque utilizando a técnica front running","tags":["Intermediário","Hacks"]}},{"frontmatter":{"suburl":"honeypot/","title":"Criar uma armadilha para hackers com a técnica honeypot","tags":["Intermediário","Hacks"]}},{"frontmatter":{"suburl":"ocultar-script-malicioso/","title":"Como um contrato malicioso esconde seu script","tags":["Intermediário","Hacks"]}},{"frontmatter":{"suburl":"phishing-com-txorigin/","title":"Phishing com tx.origin","tags":["Intermediário","Hacks"]}},{"frontmatter":{"suburl":"negacao-de-servico/","title":"Inutilizar um contrato através da negação de serviço","tags":["Intermediário","Hacks"]}},{"frontmatter":{"suburl":"fonte-de-aleatoriedade/","title":"Fonte de Aleatoriedade","tags":["Intermediário","Hacks"]}},{"frontmatter":{"suburl":"chamada-de-funcao-delegatecall/","title":"Chamada de função delegatecall","tags":["Intermediário","Hacks"]}},{"frontmatter":{"suburl":"acessando-variaveis-privadas/","title":"Acessando variáveis privadas","tags":["Intermediário","Hacks"]}},{"frontmatter":{"suburl":"auto-destruicao/","title":"Ataques com Auto-destruição","tags":["Intermediário","Hacks"]}},{"frontmatter":{"suburl":"estouro-de-memoria/","title":"Ataques com estouro de memória","tags":["Intermediário","Hacks"]}},{"frontmatter":{"suburl":"ataque-de-reentrada/","title":"Ataque de reentrada, aprenda como funciona e como evitar","tags":["Intermediário","Hacks"]}},{"frontmatter":{"suburl":"bloqueio-de-tempo-timelock/","title":"Criar um contrato com bloqueio de tempo","tags":["Avançado","Aplicações"]}},{"frontmatter":{"suburl":"contrato-para-multichamadas/","title":"Criar contrato para Multichamada de funções","tags":["Avançado","Aplicações"]}},{"frontmatter":{"suburl":"financiamento-coletivo-crowd-fund/","title":"Criar um sistema de financiamento coletivo","tags":["Avançado","Aplicações"]}},{"frontmatter":{"suburl":"sistema-de-leilao-ingles-holandes/","title":"Criar um sistema de leilão inglês e holandês","tags":["Avançado","Aplicações"]}},{"frontmatter":{"suburl":"canal-de-pagamento-bidirecional/","title":"Criar um Canal de pagamento bidirecional","tags":["Avançado","Aplicações"]}},{"frontmatter":{"suburl":"canal-de-pagamento-unidirecional/","title":"Criar um Canal de pagamento unidirecional","tags":["Avançado","Aplicações"]}},{"frontmatter":{"suburl":"gravar-dados-no-slot/","title":"Como gravar dados em qualquer slot","tags":["Intermediário","Aplicações"]}},{"frontmatter":{"suburl":"implantar-contrato-com-proxy/","title":"Como implantar qualquer contrato com Proxy","tags":["Avançado","Aplicações"]}},{"frontmatter":{"suburl":"trabalhando-com-proxy/","title":"Trabalhando com Proxy","tags":["Avançado","Aplicações"]}},{"frontmatter":{"suburl":"precomputar-endereco-contrato/","title":"Pré-computar endereço do Contrato com Create2","tags":["Avançado","Aplicações"]}},{"frontmatter":{"suburl":"token-erc721/","title":"Criando nosso primeiro Token ERC721","tags":["Intermediário","Avançado","Aplicações"]}},{"frontmatter":{"suburl":"token-erc20/","title":"Criando nosso primeiro Token ERC20","tags":["Intermediário","Avançado","Aplicações"]}},{"frontmatter":{"suburl":"aplicacao-mapeamento-iteravel/","title":"Mapeamento Iterável","tags":["Intermediário","Aplicações"]}},{"frontmatter":{"suburl":"aplicacao-arvore-merkle/","title":"Árvore de Merkle","tags":["Avançado","Aplicações"]}},{"frontmatter":{"suburl":"aplicacao-multi-assinatura/","title":"Carteira com Multi-Assinaturas","tags":["Intermediário","Avançado","Aplicações"]}},{"frontmatter":{"suburl":"aplicacao-wallet/","title":"Carteira de Tokens","tags":["Iniciante","Aplicações"]}},{"frontmatter":{"suburl":"assinaturas-e-hashing-keccak/","title":"Verificando assinatura hashing com Keccak256","tags":["Intermediário","Avançado"]}},{"frontmatter":{"suburl":"abi/","title":"O que é ABI e para que serve?","tags":["Iniciante"]}},{"frontmatter":{"suburl":"import-e-libraries/","title":"Import e Libraries, para que servem?","tags":["Iniciante","Intermediário"]}},{"frontmatter":{"suburl":"criar-contrato-simples/","title":"Criar um contrato através de outro contrato","tags":["Intermediário"]}},{"frontmatter":{"suburl":"call-fallback-delegatecall/","title":"Call, Fallback, Delegatecall e chamadas de contratos","tags":["Intermediário"]}},{"frontmatter":{"suburl":"transfer-send-call/","title":"Enviar Ether com transfer, send e call","tags":["Iniciante","Intermediário"]}},{"frontmatter":{"suburl":"visibilidade-interface-pagavel/","title":"Visibilidade, Interfaces e Funções Pagáveis","tags":["Intermediário"]}},{"frontmatter":{"suburl":"evento-construtor-heranca/","title":"Evento, Construtor e Herança","tags":["Iniciante","Intermediário"]}},{"frontmatter":{"suburl":"tratamento-de-erros/","title":"Tratamento de erros de condições e exceções","tags":["Iniciante","Intermediário"]}},{"frontmatter":{"suburl":"funcoes/","title":"Funções e Modificadores","tags":["Iniciante","Intermediário"]}},{"frontmatter":{"suburl":"armazenamento/","title":"Armazenamento de Dados","tags":["Intermediário"]}},{"frontmatter":{"suburl":"estruturas/","title":"Estruturas - Struct","tags":["Iniciante","Intermediário"]}},{"frontmatter":{"suburl":"enum/","title":"Enum - Enumeradores","tags":["Iniciante","Intermediário"]}},{"frontmatter":{"suburl":"mapping-arrays/","title":"Mapping e Arrays","tags":["Iniciante"]}},{"frontmatter":{"suburl":"if-else-for-while/","title":"If, Else, For e While","tags":["Iniciante"]}},{"frontmatter":{"suburl":"ether-wei-gas/","title":"Ether, Wei e Taxa de Gas","tags":["Iniciante"]}},{"frontmatter":{"suburl":"variaveis/","title":"Entendendo as Variáveis","tags":["Iniciante"]}},{"frontmatter":{"suburl":"primeiro-aplicativo/","title":"Meu primeiro aplicativo","tags":["Iniciante","Aplicações"]}}]},"topicsYaml":{"topics":[{"desc":"Todos os conteúdos de nível iniciante estão disponíveis aqui","title":"Iniciante","url":"iniciante/"},{"desc":"Todos os conteúdos de nível intermediário estão disponíveis aqui","title":"Intermediário","url":"intermediario/"},{"desc":"Todos os conteúdos de nível avançado estão disponíveis aqui","title":"Avançado","url":"avancado/"},{"desc":"Todos os artigos referentes a exemplos de aplicações do Solidity, estão disponíveis aqui","title":"Aplicações","url":"aplicacoes/"},{"desc":"Todos os artigos referentes a exemplos de aplicação de hacks do Solidity, estão disponíveis aqui","title":"Hacks","url":"hacks/"},{"desc":"Todos os artigos referentes a exemplos de aplicação DeFi do Solidity, estão disponíveis aqui","title":"DeFi","url":"defi/"},{"desc":"Artigos de outras linguagens de programação, exemplos de interação entre a blockchain e aplicativos externos, estão disponíveis aqui","title":"Outros Artigos","url":"artigos/"}]}},"pageContext":{"suburl":"variaveis/","postTopics":["Iniciante"],"publishedAt":"04/05/2022","prevArticle":{"title":"Meu primeiro aplicativo","layout":"BlogPage","suburl":"primeiro-aplicativo/","author":["Matheus"],"tags":["Iniciante","Aplicações"],"publishedAt":"02/05/2022","modifiedAt":"20220502"},"nextArticle":{"title":"Ether, Wei e Taxa de Gas","layout":"BlogPage","suburl":"ether-wei-gas/","author":["Matheus"],"tags":["Iniciante"],"publishedAt":"06/05/2022","modifiedAt":"20220506"}}},"staticQueryHashes":["119291576","2330562257","4065828390"]}